One of the most enduring criticisms of Reduced Instruction Set Computer (RISC) architectures is that they are unable to handle complex operations efficiently. Critics of RISC-like architectures often suggest that applications which rely upon a high percentage of complex operations will execute slowly and/or suffer from excessive code size. By complex operation is meant a task which requires three or more of a machine's most basic instructions to complete. Some obvious and very important examples of complex operations are byte moves, string comparisons and decimal arithmetic. On the other hand, simple operation are those which require only one or two of a machine's most basic instructions to complete.
In traditional Complex Instruction Set Computers (CISC) every machine instruction is performed by the execution of a corresponding microcode program. Microcode programs are made up of micro-instructions. Micro-instructions are instructions which a processor understands. In a sense, CISC systems are really computers inside of computers. The "outer" computer receives assembly language instructions and translates them to micro-instructions. The "inner" computer executes the micro-instructions.
RISC systems, on the other hand, do not use micro-instructions, but execute computer instructions directly. This eliminates the overhead in CISC systems which is associated with transferring of control from the outer computer to the inner computer. In CISC computers, for simple operations, transfer overhead between the inner and the outer computer often requires more time than the actual performance of the operations.
However, for complex operations which require dozens or even hundreds of micro-instructions to complete, the overhead for transferring from the outer computer to the inner computer in CISC systems becomes insignificant. The execution time of micro-instructions becomes the most significant factor in speed of execution. Typically, execution of instructions on a RISC system takes longer than execution of equivalent micro-instructions on a comparable CISC system. Therefore, utilizing the prior art, CISC systems have potential to perform better than RISC systems for complex instructions.